﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;


public partial class Armatucampeon : System.Web.UI.Page
{
    //bool[] EstadoItems = new bool[6];
    //HttpCookie GalletitaEstadoItems = new HttpCookie("Galletitas");

    protected void Page_Load(object sender, EventArgs e)
    {
        string Camp = (string)(Session["CampArmar"]);
        string FotoCamp = (string)(Session["RutaFoto"]);
        Foto.ImageUrl = FotoCamp;
        CargarItems();
        if (!IsPostBack)
        {
            LlenarStats(Camp);
            //LlenarBool();
        }
    }

    //private void LlenarBool()
    //{
    //    for (int i = 0; i < 6; i++)
    //    {
    //        if(Request.Cookies["Galletitas"] != null)
    //        {
    //            EstadoItems[i] = Convert.ToBoolean(GalletitaEstadoItems[i.ToString()]); 
    //        }
    //    }
    //}

    //private int BoolLibre()
    //{
    //    for (int i = 0; i < 6; i++)
    //    {
    //        if (EstadoItems[i] == false)
    //        {
    //            return (i + 1);
    //        }
    //    }

    //    return -1;
    //}

    private void CargarItems()
    {
        Conectar TraerCampeones = new Conectar("localhost", "BaseCalol", "SELECT * FROM [Items]");
        DataSet TodosCampeones = new DataSet();
        TraerCampeones.TodosCampeones(ref TodosCampeones);

        //////////////////////////Agregar los Imagen Boton/////////////////////////////
        foreach (DataRow DR in TodosCampeones.Tables[0].Rows)
        {
            ItemsHolder.Controls.Add(new LiteralControl("<Div class=" + "Campeones" + ">"));
            ImageButton Champ = new ImageButton();
            Champ.ImageUrl = DR["Foto"].ToString();
            Champ.ID = DR["ItemId"].ToString();
            Champ.ToolTip = DR["Nombre"].ToString();
            Champ.Click += new ImageClickEventHandler(ItemsButton_Click);
            Champ.Width = 75;
            Champ.Height = 75;
            ItemsHolder.Controls.Add(Champ);
            ItemsHolder.Controls.Add(new LiteralControl("</Div>"));
        }
    }

    private void LlenarStats(String Nombre)
    {
        lblNombre.Text = Nombre;
        Conectar Stats = new Conectar("localhost", "BaseCalol", "SELECT * FROM [StatsIniciales] WHERE" + " Campeon='" + Nombre + "'");
        DataSet SetData = new DataSet();
        Stats.TodosCampeones(ref SetData);

        ////////VIDA////////////////
        ImgVida.ImageUrl = "/Calol/Imagenes/Img HP.png";
        ImgVida.ToolTip = "Vida";
        lblVida.Text = SetData.Tables[0].Rows[0]["Vida"].ToString();
        ////////REGEN VIDA////////////////
        imgRegenVida.ImageUrl = "/Calol/Imagenes/Img HP Regen.png";
        imgRegenVida.ToolTip = "Regen Vida";
        lblRegenVida.Text = SetData.Tables[0].Rows[0]["RegenVida"].ToString();
        ////////AD////////////////
        imgAD.ImageUrl = "/Calol/Imagenes/Img AD.png";
        imgAD.ToolTip = "AD";
        lblAd.Text = SetData.Tables[0].Rows[0]["Ad"].ToString();
        ////////ARMADURA////////////////
        imgArmadura.ImageUrl = "/Calol/Imagenes/Img Armor.png";
        imgArmadura.ToolTip = "Armadura";
        lblArmadura.Text = SetData.Tables[0].Rows[0]["Armadura"].ToString();
        //////MAGIC RESIST//////
        imgMR.ImageUrl = "/Calol/Imagenes/Img Mag Res.png";
        imgMR.ToolTip = "Magic Resist";
        lblMR.Text = SetData.Tables[0].Rows[0]["MagicResist"].ToString();
        ///////MANA///////
        imgMana.ImageUrl = "/Calol/Imagenes/mana.png";
        imgMana.ToolTip = "Mana";
        lblMana.Text = SetData.Tables[0].Rows[0]["Mana"].ToString();
        /////REGEN MANA//////
        imgRegenMana.ImageUrl = "/Calol/Imagenes/manaregen.png";
        imgRegenMana.ToolTip = "Regen Mana";
        lblRegenMana.Text = SetData.Tables[0].Rows[0]["RegenMana"].ToString();
        ////VELOCIDAD MOVIMIENTO////
        imgMS.ImageUrl = "/Calol/Imagenes/Img MS.png";
        imgMS.ToolTip = "Movement Speed";
        lblMS.Text = SetData.Tables[0].Rows[0]["Velocidad Movimiento"].ToString();
        ////AP//////
        imgAP.ImageUrl = "/Calol/Imagenes/ap.png";
        imgAP.ToolTip = "Ability Power";
        lblAP.Text = SetData.Tables[0].Rows[0]["Ap"].ToString();
        ////VELOCIDAD ATAQUE////
        imgAS.ImageUrl = "/Calol/Imagenes/Img AtkSpeed.png";
        imgAS.ToolTip = "Atack Speed";
        lblAS.Text = SetData.Tables[0].Rows[0]["VelocidadAtaque"].ToString();
    }

    protected void ItemsButton_Click(object sender, ImageClickEventArgs e)
    {
        ImageButton but = (ImageButton)sender;
        if(FijarseIBVacios() == -1)
        {
            //// cartel diciendo que ya estan todos
        }
        else
	    {
            AsingarItem(but.ID.ToString(), FijarseIBVacios());
            AgregarStats(but.ToolTip.ToString());
        }
    }

    private int FijarseIBVacios()
    {
        string def = "~/Imagenes/bag_vacia.png";

        if (IB1.ImageUrl.ToString() == def)
        {
            return 1;
        }
        if (IB2.ImageUrl.ToString() == def)
        {
            return 2;
        }
        if (IB3.ImageUrl.ToString() == def)
        {
            return 3;
        }
        if (IB4.ImageUrl.ToString() == def)
        {
            return 4;
        }
        if (IB5.ImageUrl.ToString() == def)
        {
            return 5;
        }
        if (IB6.ImageUrl.ToString() == def)
        {
            return 6;
        }

        return -1;
    }

    private void QuitarStats(string Nombre)
    {
        QuitarAtaque(Nombre);
        QuitarDefensa(Nombre);
        QuitarMagia(Nombre);
        QuitarOtros(Nombre);
    }

    private void QuitarAtaque(string Nombre)
    {
        try
        {
            Conectar TraerCampeones = new Conectar("localhost", "BaseCalol", "SELECT Daño,[Velocidad Ataque] FROM Items INNER JOIN IAtaque ON Items.ItemId = IAtaque.ItemId WHERE Nombre ='" + Nombre + "'");
            DataSet TodosCampeones = new DataSet();
            TraerCampeones.TodosCampeones(ref TodosCampeones);
            float AD = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Daño"].ToString());
            AD = Convert.ToSingle(lblAd.Text.ToString()) - AD;
            lblAd.Text = AD.ToString();
            float VA = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Velocidad Ataque"].ToString());
            VA = Convert.ToSingle(lblAS.Text.ToString()) - VA;
            lblAS.Text = VA.ToString();
        }
        catch (Exception a)
        {

        }

    }

    private void QuitarDefensa(string Nombre)
    {
        try
        {
            Conectar TraerCampeones = new Conectar("localhost", "BaseCalol", "SELECT Vida,[Regen Vida],ResistenciaMagica,Armadura FROM Items INNER JOIN IDefensa ON Items.ItemId = IDefensa.ItemId WHERE Nombre ='" + Nombre + "'");
            DataSet TodosCampeones = new DataSet();
            TraerCampeones.TodosCampeones(ref TodosCampeones);
            float RG = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Regen Vida"].ToString());
            RG = Convert.ToSingle(lblRegenVida.Text.ToString()) - RG;
            lblRegenVida.Text = RG.ToString();
            float RM = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["ResistenciaMagica"].ToString());
            RM = Convert.ToSingle(lblMR.Text.ToString()) - RM;
            lblMR.Text = RM.ToString();
            float Vi = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Vida"].ToString());
            Vi = Convert.ToSingle(lblVida.Text.ToString()) - Vi;
            lblVida.Text = Vi.ToString();
            float Ar = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Armadura"].ToString());
            Ar = Convert.ToSingle(lblArmadura.Text.ToString()) - Ar;
            lblArmadura.Text = Ar.ToString();
        }
        catch (Exception a)
        {

        }
    }

    private void QuitarMagia(string Nombre)
    {
        try
        {
            Conectar TraerCampeones = new Conectar("localhost", "BaseCalol", "SELECT [Poder Habilidad],Mana,[Regen Mana] from Items inner join IMagia on Items.ItemId = IMagia.ItemId Where Nombre ='" + Nombre + "'");
            DataSet TodosCampeones = new DataSet();
            TraerCampeones.TodosCampeones(ref TodosCampeones);
            float RG = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Poder Habilidad"].ToString());
            RG = Convert.ToSingle(lblAP.Text.ToString()) - RG;
            lblAP.Text = RG.ToString();
            float RM = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Mana"].ToString());
            RM = Convert.ToSingle(lblMana.Text.ToString()) - RM;
            lblMana.Text = RM.ToString();
            float Vi = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Regen Mana"].ToString());
            Vi = Convert.ToSingle(lblRegenMana.Text.ToString()) - Vi;
            lblRegenMana.Text = Vi.ToString();
        }
        catch (Exception a)
        {

        }

    }

    private void QuitarOtros(string Nombre)
    {
        try
        {
            Conectar TraerCampeones = new Conectar("localhost", "BaseCalol", "SELECT [Velocidad Movimiento] from items INNER JOIN IOtros ON Items.ItemId = IOtros.ItemId Where Nombre ='" + Nombre + "'");
            DataSet TodosCampeones = new DataSet();
            TraerCampeones.TodosCampeones(ref TodosCampeones);
            float RG = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Velocidad Movimiento"].ToString());
            RG = Convert.ToSingle(lblMS.Text.ToString()) - RG;
            lblMS.Text = RG.ToString();
        }
        catch (Exception a)
        {

        }
    }

    private void AgregarStats(string Nombre)
    {
        AgregarAtaque(Nombre);
        AgregarDefensa(Nombre);
        AgregarMagia(Nombre);
        AgregarOtros(Nombre);
    }

    private void AgregarAtaque(string Nombre)
    {
        try
        {
            Conectar TraerCampeones = new Conectar("localhost", "BaseCalol", "SELECT Daño,[Velocidad Ataque] FROM Items INNER JOIN IAtaque ON Items.ItemId = IAtaque.ItemId WHERE Nombre ='" + Nombre + "'");
            DataSet TodosCampeones = new DataSet();
            TraerCampeones.TodosCampeones(ref TodosCampeones);
            float AD = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Daño"].ToString());
            AD += Convert.ToSingle(lblAd.Text.ToString());
            lblAd.Text = AD.ToString();
            float VA = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Velocidad Ataque"].ToString());
            VA += Convert.ToSingle(lblAS.Text.ToString());
            lblAS.Text = VA.ToString();
        }
        catch (Exception a)
        {
            
        }
        
    }

    private void AgregarDefensa(string Nombre)
    {
        try
        {
            Conectar TraerCampeones = new Conectar("localhost", "BaseCalol", "SELECT Vida,[Regen Vida],ResistenciaMagica,Armadura FROM Items INNER JOIN IDefensa ON Items.ItemId = IDefensa.ItemId WHERE Nombre ='" + Nombre + "'");
            DataSet TodosCampeones = new DataSet();
            TraerCampeones.TodosCampeones(ref TodosCampeones);
            float RG = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Regen Vida"].ToString());
            RG += Convert.ToSingle(lblRegenVida.Text.ToString());
            lblRegenVida.Text = RG.ToString();
            float RM = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["ResistenciaMagica"].ToString());
            RM += Convert.ToSingle(lblMR.Text.ToString());
            lblMR.Text = RM.ToString();
            float Vi = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Vida"].ToString());
            Vi += Convert.ToSingle(lblVida.Text.ToString());
            lblVida.Text = Vi.ToString();
            float Ar = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Armadura"].ToString());
            Ar += Convert.ToSingle(lblArmadura.Text.ToString());
            lblArmadura.Text = Ar.ToString();
        }
        catch (Exception a)
        {

        }
    }

    private void AgregarMagia(string Nombre)
    {
        try
        {
            Conectar TraerCampeones = new Conectar("localhost", "BaseCalol", "SELECT [Poder Habilidad],Mana,[Regen Mana] from Items inner join IMagia on Items.ItemId = IMagia.ItemId Where Nombre ='" + Nombre + "'");
            DataSet TodosCampeones = new DataSet();
            TraerCampeones.TodosCampeones(ref TodosCampeones);
            float RG = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Poder Habilidad"].ToString());
            RG += Convert.ToSingle(lblAP.Text.ToString());
            lblAP.Text = RG.ToString();
            float RM = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Mana"].ToString());
            RM += Convert.ToSingle(lblMana.Text.ToString());
            lblMana.Text = RM.ToString();
            float Vi = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Regen Mana"].ToString());
            Vi += Convert.ToSingle(lblRegenMana.Text.ToString());
            lblRegenMana.Text = Vi.ToString();
        }
        catch (Exception a)
        {

        }

    }

    private void AgregarOtros(string Nombre)
    {
        try
        {
            Conectar TraerCampeones = new Conectar("localhost", "BaseCalol", "SELECT [Velocidad Movimiento] from items INNER JOIN IOtros ON Items.ItemId = IOtros.ItemId Where Nombre ='" + Nombre + "'");
            DataSet TodosCampeones = new DataSet();
            TraerCampeones.TodosCampeones(ref TodosCampeones);
            float RG = Convert.ToSingle(TodosCampeones.Tables[0].Rows[0]["Velocidad Movimiento"].ToString());
            RG += Convert.ToSingle(lblMS.Text.ToString());
            lblMS.Text = RG.ToString();
        }
        catch (Exception a)
        {

        }
    }

    private void AsingarItem (string ItemID, int Posicion)
    {
        Conectar TraerCampeones = new Conectar("localhost", "BaseCalol", "SELECT * FROM [Items] WHERE ItemId='" + ItemID + "'");
        DataSet TodosCampeones = new DataSet();
        TraerCampeones.TodosCampeones(ref TodosCampeones);
        switch (Posicion)
        {
            case 1:
                IB1.ImageUrl = TodosCampeones.Tables[0].Rows[0]["Foto"].ToString();
                IB1.ToolTip = TodosCampeones.Tables[0].Rows[0]["Nombre"].ToString();
                IB1.Width = 75;
                IB1.Height = 75;
                IB1.NamingContainer.ID = TodosCampeones.Tables[0].Rows[0]["ItemId"].ToString();
                break;
            case 2:
                IB2.ImageUrl = TodosCampeones.Tables[0].Rows[0]["Foto"].ToString();
                IB2.ToolTip = TodosCampeones.Tables[0].Rows[0]["Nombre"].ToString();
                IB2.Width = 75;
                IB2.Height = 75;
                IB2.NamingContainer.ID = TodosCampeones.Tables[0].Rows[0]["ItemID"].ToString();
                break;
            case 3:
                IB3.ImageUrl = TodosCampeones.Tables[0].Rows[0]["Foto"].ToString();
                IB3.ToolTip = TodosCampeones.Tables[0].Rows[0]["Nombre"].ToString();
                IB3.Width = 75;
                IB3.Height = 75;
                IB3.NamingContainer.ID = TodosCampeones.Tables[0].Rows[0]["ItemID"].ToString();
                break;
            case 4:
                IB4.ImageUrl = TodosCampeones.Tables[0].Rows[0]["Foto"].ToString();
                IB4.ToolTip = TodosCampeones.Tables[0].Rows[0]["Nombre"].ToString();
                IB4.Width = 75;
                IB4.Height = 75;
                IB4.NamingContainer.ID = TodosCampeones.Tables[0].Rows[0]["ItemID"].ToString();
                break;
            case 5:
                IB5.ImageUrl = TodosCampeones.Tables[0].Rows[0]["Foto"].ToString();
                IB5.ToolTip = TodosCampeones.Tables[0].Rows[0]["Nombre"].ToString();
                IB5.Width = 75;
                IB5.Height = 75;
                IB5.NamingContainer.ID = TodosCampeones.Tables[0].Rows[0]["ItemID"].ToString();
                break;
            case 6:
                IB6.ImageUrl = TodosCampeones.Tables[0].Rows[0]["Foto"].ToString();
                IB6.ToolTip = TodosCampeones.Tables[0].Rows[0]["Nombre"].ToString();
                IB6.Width = 75;
                IB6.Height = 75;
                IB6.NamingContainer.ID = TodosCampeones.Tables[0].Rows[0]["ItemID"].ToString();
                break;
        }
        
    }

    private void PonerEnVacio(ImageButton Vacio)
    {
        string def = "~/Imagenes/bag_vacia.png";
        QuitarStats(Vacio.ToolTip.ToString());
        if (IB1.ID == Vacio.ID)
        {
            IB1.ImageUrl = def;
            IB1.ToolTip = "Vacio";
        }
        if (IB2.ID == Vacio.ID)
        {
            IB2.ImageUrl = def;
            IB2.ToolTip = "Vacio";
        }
        if (IB3.ID == Vacio.ID)
        {
            IB3.ImageUrl = def;
            IB3.ToolTip = "Vacio";
        }
        if (IB4.ID == Vacio.ID)
        {
            IB4.ImageUrl = def;
            IB4.ToolTip = "Vacio";
        }
        if (IB5.ID == Vacio.ID)
        {
            IB5.ImageUrl = def;
            IB5.ToolTip = "Vacio";
        }
        if (IB6.ID == Vacio.ID)
        {
            IB6.ImageUrl = def;
            IB6.ToolTip = "Vacio";
        }
    }

    protected void SacarItemsButton_Click(object sender, ImageClickEventArgs e)
    {
        ImageButton but = (ImageButton)sender;
        PonerEnVacio(but);
    }

    //private void AgregarItem(string ItemID)
    //{
    //    int Posicion;
    //    Posicion = BoolLibre();
    //    if (Posicion == -1)
    //    {
    //        //AVISAR QUE LLEGO AL MAXIMO DE ITEMS
    //    }
    //    else
    //    {
    //        Conectar TraerCampeones = new Conectar("localhost", "BaseCalol", "SELECT * FROM [Items] WHERE ItemId='" + ItemID + "'");
    //        DataSet TodosCampeones = new DataSet();
    //        TraerCampeones.TodosCampeones(ref TodosCampeones);
    //        //////////////////////////Agregar los Imagen Boton/////////////////////////////

    //        ImageButton Champ = new ImageButton();
    //        Champ.ImageUrl = TodosCampeones.Tables[0].Rows[0]["Foto"].ToString();
    //        Champ.ID = TodosCampeones.Tables[0].Rows[0]["ItemId"].ToString();
    //        Champ.ToolTip = TodosCampeones.Tables[0].Rows[0]["Nombre"].ToString();
    //        Champ.Click += new ImageClickEventHandler(SacarItemsButton_Click);
    //        Champ.Width = 75;
    //        Champ.Height = 75;

    //        switch (Posicion)
    //        {
    //            case 1:
    //                ItemsElegido1.Controls.Add(Champ);
    //                EstadoItems[0] = true;
    //                GalletitaEstadoItems["1"] = EstadoItems[0].ToString();
    //                break;
    //            case 2:
    //                ItemsElegido2.Controls.Add(Champ);
    //                EstadoItems[1] = true;
    //                GalletitaEstadoItems["2"] = EstadoItems[1].ToString();
    //                break;
    //            case 3:
    //                ItemsElegido3.Controls.Add(Champ);
    //                EstadoItems[2] = true;
    //                GalletitaEstadoItems["3"] = EstadoItems[2].ToString();
    //                break;
    //            case 4:
    //                ItemsElegido4.Controls.Add(Champ);
    //                EstadoItems[3] = true;
    //                GalletitaEstadoItems["4"] = EstadoItems[3].ToString();
    //                break;
    //            case 5:
    //                ItemsElegido5.Controls.Add(Champ);
    //                EstadoItems[4] = true;
    //                GalletitaEstadoItems["5"] = EstadoItems[4].ToString();
    //                break;
    //            case 6:
    //                ItemsElegido6.Controls.Add(Champ);
    //                EstadoItems[5] = true;
    //                GalletitaEstadoItems["6"] = EstadoItems[5].ToString();
    //                break;
    //        }
    //        GalletitaEstadoItems.Expires = DateTime.Now.AddDays(1d);
    //        Response.Cookies.Add(GalletitaEstadoItems);
    //    }
    //}
}